home *** CD-ROM | disk | FTP | other *** search
/ PC Answers 1998 January / PC Answers Issue 49 Cover CD January 1998.iso / Apps / Director / DATA.Z / Widget Wizard.dir / WidgtBehaviors_39_Two Member Sprite.ls < prev    next >
Encoding:
Text File  |  1997-05-10  |  1.3 KB  |  42 lines

  1. property CurrentState, MemberOne, MemberTwo, name, GroupName
  2.  
  3. on getPropertyDescriptionList
  4.   set description to [:]
  5.   addProp(description, #MemberOne, [#default: 1, #format: #integer, #comment: "Cast member for state 1:"])
  6.   addProp(description, #MemberTwo, [#default: 1, #format: #integer, #comment: "Cast member for state 2:"])
  7.   addProp(description, #CurrentState, [#default: 1, #format: #integer, #comment: "Which state to begin in (1 or 2):", #range: [#min: 1, #max: 2]])
  8.   addProp(description, #name, [#default: #twostate1, #format: #symbol, #comment: "Name:"])
  9.   addProp(description, #GroupName, [#default: #group1, #format: #symbol, #comment: "Groupname:"])
  10.   return description
  11. end
  12.  
  13. on getBehaviorDescription
  14.   return "Switch members when addressed"
  15. end
  16.  
  17. on getAssocMembers
  18.   set myPropList to [MemberOne, MemberTwo]
  19.   return myPropList
  20. end
  21.  
  22. on SwitchStates me, Addressee
  23.   case Addressee of
  24.     #all:
  25.       do_SwitchStates(me)
  26.     (the name of me):
  27.       do_SwitchStates(me)
  28.     (the GroupName of me):
  29.       do_SwitchStates(me)
  30.   end case
  31. end
  32.  
  33. on do_SwitchStates me
  34.   if the CurrentState of me = 0 then
  35.     set the CurrentState of me to 1
  36.     set the member of sprite the spriteNum of me to the MemberOne of me
  37.   else
  38.     set the CurrentState of me to 2
  39.     set the member of sprite the spriteNum of me to the MemberTwo of me
  40.   end if
  41. end
  42.